<?php

/**
 * @package WordPress
 * @subpackage KHVT
 * @since KHVT
 */

class OnlineSupport extends WP_Widget {
    /** constructor */
    function OnlineSupport() {
        parent::WP_Widget(false, $name = 'Online Support');
    }

    /** @see WP_Widget::widget */
    function widget($args, $instance) {
        extract($args);
        $yahoo = apply_filters('widget_text', $instance['yahoo']);
        $skype = apply_filters('widget_text', $instance['skype']);
        echo $before_widget;
        ?>
        <div class="online-support-widget visible-desktop" style="text-align: center">
            <div class="yahoo-block">
                <?php 
                    $yahoo_list = explode(',', $yahoo);
                    foreach ($yahoo_list as $item) {
                        $item = trim($item);
                        if ($item == '') continue;
                ?>      
                <div style="margin: 0px 0 5px">
                    <a href="ymsgr:sendIM?<?php echo $item; ?>">
                        <img src="http://opi.yahoo.com/online?u=<?php echo $item; ?>&amp;m=g&amp;t=13&amp;l=us" alt="" width="26" border="0" />
                    </a>
                </div>
                <?php
                    }
                ?>
            </div>
            <div class="skype-block">
                <script type="text/javascript" src="http://download.skype.com/share/skypebuttons/js/skypeCheck.js"></script>
                <?php 
                    $skype_list = explode(',', $skype);
                    foreach ($skype_list as $item) {
                        $item = trim($item);
                        if ($item == '') continue;
                ?>
                <div style="margin: 5px 0">
                    <a href="skype:<?php echo $item; ?>?chat">
                        <img src="http://mystatus.skype.com/mediumicon/<?php echo $item; ?>" style="border: none;" width="26" height="25" alt="My status" />
                    </a>
                </div>
                <?php
                    }
                ?>
            </div>
        </div>
        <?php echo $after_widget; ?>
        <?php
    }

    /** @see WP_Widget::update */
    function update($new_instance, $old_instance) {
        $instance = $old_instance;
        $instance['yahoo'] = trim($new_instance['yahoo']);
        $instance['skype'] = trim($new_instance['skype']);

        return $instance;
    }

    /** @see WP_Widget::form */
    function form($instance) {
        $yahoo = $instance['yahoo'];
        $skype = $instance['skype'];
        ?>	
        <p>
            <label for="<?php echo $this->get_field_id('yahoo'); ?>"><?php _e('Yahoo Nick: '); ?></label><br />	
            <textarea id="<?php echo $this->get_field_id('yahoo'); ?>" name="<?php echo $this->get_field_name('yahoo'); ?>" style="width:100%"><?php echo $yahoo; ?></textarea>
        </p>
        <p>
            <label for="<?php echo $this->get_field_id('skype'); ?>"><?php _e('Skype Link:'); ?></label><br />
            <textarea id="<?php echo $this->get_field_id('skype'); ?>" name="<?php echo $this->get_field_name('skype'); ?>" style="width:100%"><?php echo $skype; ?></textarea>
        </p>
        <?php
    }

}
add_action('widgets_init', create_function('', 'return register_widget("OnlineSupport");'));

 
function get_post_media() {
    if (isset($_POST['postid'])) {
        $id = $_POST['postid'];
        $post = get_post($id);
        
        $json = array(
            'thumb' => get_the_post_thumbnail($id, 'large-thumbnail'),
            'title' => get_the_title($id),
            'content' => apply_filters('the_content', $post->post_content )
        );
        echo json_encode($json);
        
    }
    die();
}
add_action('wp_ajax_nopriv_get_post_media', 'get_post_media');
add_action('wp_ajax_get_post_media', 'get_post_media'); 
 
 
/**
 * Set the content width based on the theme's design and stylesheet.
 */
if (!isset($content_width))
    $content_width = 584;

/**
 * Tell WordPress to run twentyeleven_setup() when the 'after_setup_theme' hook is run.
 */
add_action('after_setup_theme', 'twentyeleven_setup');

if (!function_exists('twentyeleven_setup')):

    /**
     * Sets up theme defaults and registers support for various WordPress features.
     *
     * Note that this function is hooked into the after_setup_theme hook, which runs
     * before the init hook. The init hook is too late for some features, such as indicating
     * support post thumbnails.
     *
     * To override twentyeleven_setup() in a child theme, add your own twentyeleven_setup to your child theme's
     * functions.php file.
     *
     * @uses add_editor_style() To style the visual editor.
     * @uses add_theme_support() To add support for post thumbnails, automatic feed links, and Post Formats.
     * @uses register_nav_menus() To add support for navigation menus.
     * @uses add_custom_background() To add support for a custom background.
     * @uses add_custom_image_header() To add support for a custom header.
     * @uses register_default_headers() To register the default custom header images provided with the theme.
     * @uses set_post_thumbnail_size() To set a custom post thumbnail size.
     *
     * @since Twenty Eleven 1.0
     */
    function twentyeleven_setup() {


        // This theme styles the visual editor with editor-style.css to match the theme style.
        add_editor_style();
        
        // Add default posts and comments RSS feed links to <head>.
        add_theme_support('automatic-feed-links');

        // This theme uses wp_nav_menu() in one location.
        register_nav_menu('primary', __('Primary Menu', 'twentyeleven'));

        // Add support for custom backgrounds
        add_custom_background();

        // This theme uses Featured Images (also known as post thumbnails) for per-post/per-page Custom Header images
        add_theme_support('post-thumbnails');

        // The next four constants set how Twenty Eleven supports custom headers.
        // The default header text color
        define('HEADER_TEXTCOLOR', '000');

        // By leaving empty, we allow for random image rotation.
        define('HEADER_IMAGE', '');

        // The height and width of your custom header.
        // Add a filter to twentyeleven_header_image_width and twentyeleven_header_image_height to change these values.
        define('HEADER_IMAGE_WIDTH', apply_filters('twentyeleven_header_image_width', 1000));
        define('HEADER_IMAGE_HEIGHT', apply_filters('twentyeleven_header_image_height', 288));

        // We'll be using post thumbnails for custom header images on posts and pages.
        // We want them to be the size of the header image that we just defined
        // Larger images will be auto-cropped to fit, smaller ones will be ignored. See header.php.
        set_post_thumbnail_size(HEADER_IMAGE_WIDTH, HEADER_IMAGE_HEIGHT, true);

        // Add Twenty Eleven's custom image sizes
        add_image_size('large-feature', HEADER_IMAGE_WIDTH, HEADER_IMAGE_HEIGHT, true); // Used for large feature (header) images
        add_image_size('small-thumbnail', 125, 85, true); 
        add_image_size('large-thumbnail', 416, 355);
        add_image_size('wn-top-thumnail-img', 126, 103, true);


        // Turn on random header image rotation by default.
        add_theme_support('custom-header', array('random-default' => true));

        // Add a way for the custom header to be styled in the admin panel that controls
        // custom headers. See twentyeleven_admin_header_style(), below.
        add_custom_image_header('twentyeleven_header_style', 'twentyeleven_admin_header_style', 'twentyeleven_admin_header_image');

    }

endif; // twentyeleven_setup

if (!function_exists('twentyeleven_header_style')) :

    /**
     * Styles the header image and text displayed on the blog
     *
     * @since Twenty Eleven 1.0
     */
    function twentyeleven_header_style() {

        // If no custom options for text are set, let's bail
        // get_header_textcolor() options: HEADER_TEXTCOLOR is default, hide text (returns 'blank') or any hex value
        if (HEADER_TEXTCOLOR == get_header_textcolor())
            return;
        // If we get this far, we have custom styles. Let's do this.
        ?>
        <style type="text/css">
        <?php
// Has the text been hidden?
        if ('blank' == get_header_textcolor()) :
            ?>
                #site-title,
                #site-description {
                    position: absolute !important;
                    clip: rect(1px 1px 1px 1px); /* IE6, IE7 */
                    clip: rect(1px, 1px, 1px, 1px);
                }
            <?php
// If the user has set a custom color for the text use that
        else :
            ?>
                #site-title a,
                #site-description {
                    color: #<?php echo get_header_textcolor(); ?> !important;
                }
        <?php endif; ?>
        </style>
        <?php
    }

endif; // twentyeleven_header_style

if (!function_exists('twentyeleven_admin_header_style')) :

    /**
     * Styles the header image displayed on the Appearance > Header admin panel.
     *
     * Referenced via add_custom_image_header() in twentyeleven_setup().
     *
     * @since Twenty Eleven 1.0
     */
    function twentyeleven_admin_header_style() {
        ?>
        <style type="text/css">
            .appearance_page_custom-header #headimg {
                border: none;
            }
            #headimg h1,
            #desc {
                font-family: "Helvetica Neue", Arial, Helvetica, "Nimbus Sans L", sans-serif;
            }
            #headimg h1 {
                margin: 0;
            }
            #headimg h1 a {
                font-size: 32px;
                line-height: 36px;
                text-decoration: none;
            }
            #desc {
                font-size: 14px;
                line-height: 23px;
                padding: 0 0 3em;
            }
            <?php
            // If the user has set a custom color for the text use that
            if (get_header_textcolor() != HEADER_TEXTCOLOR) :
                ?>
                #site-title a,
                #site-description {
                    color: #<?php echo get_header_textcolor(); ?>;
                }
            <?php endif; ?>
            #headimg img {
                max-width: 1000px;
                height: auto;
                width: 100%;
            }
        </style>
        <?php
    }

endif; // twentyeleven_admin_header_style

if (!function_exists('twentyeleven_admin_header_image')) :

    /**
     * Custom header image markup displayed on the Appearance > Header admin panel.
     *
     * Referenced via add_custom_image_header() in twentyeleven_setup().
     *
     * @since Twenty Eleven 1.0
     */
    function twentyeleven_admin_header_image() {
        ?>
        <div id="headimg">
            <?php
            if ('blank' == get_theme_mod('header_textcolor', HEADER_TEXTCOLOR) || '' == get_theme_mod('header_textcolor', HEADER_TEXTCOLOR))
                $style = ' style="display:none;"';
            else
                $style = ' style="color:#' . get_theme_mod('header_textcolor', HEADER_TEXTCOLOR) . ';"';
            ?>
            <h1><a id="name"<?php echo $style; ?> onclick="return false;" href="<?php echo esc_url(home_url('/')); ?>"><?php bloginfo('name'); ?></a></h1>
            <div id="desc"<?php echo $style; ?>><?php bloginfo('description'); ?></div>
            <?php $header_image = get_header_image();
            if (!empty($header_image)) : ?>
                <img src="<?php echo esc_url($header_image); ?>" alt="" />
            <?php endif; ?>
        </div>
        <?php
    }

endif; // twentyeleven_admin_header_image

/**
 * Sets the post excerpt length to 40 words.
 *
 * To override this length in a child theme, remove the filter and add your own
 * function tied to the excerpt_length filter hook.
 */
function twentyeleven_excerpt_length($length) {
    return 40;
}

add_filter('excerpt_length', 'twentyeleven_excerpt_length');

/**
 * Returns a "Continue Reading" link for excerpts
 */
function twentyeleven_continue_reading_link() {
    return ' <a href="' . esc_url(get_permalink()) . '">' . __('', 'twentyeleven') . '</a>';
}

/**
 * Replaces "[...]" (appended to automatically generated excerpts) with an ellipsis and twentyeleven_continue_reading_link().
 *
 * To override this in a child theme, remove the filter and add your own
 * function tied to the excerpt_more filter hook.
 */
function twentyeleven_auto_excerpt_more($more) {
    return ' &hellip;' . twentyeleven_continue_reading_link();
}

add_filter('excerpt_more', 'twentyeleven_auto_excerpt_more');

/**
 * Adds a pretty "Continue Reading" link to custom post excerpts.
 *
 * To override this link in a child theme, remove the filter and add your own
 * function tied to the get_the_excerpt filter hook.
 */
function twentyeleven_custom_excerpt_more($output) {
    if (has_excerpt() && !is_attachment()) {
        $output .= twentyeleven_continue_reading_link();
    }
    return $output;
}

add_filter('get_the_excerpt', 'twentyeleven_custom_excerpt_more');

/**
 * Get our wp_nav_menu() fallback, wp_page_menu(), to show a home link.
 */
function twentyeleven_page_menu_args($args) {
    $args['show_home'] = true;
    return $args;
}

add_filter('wp_page_menu_args', 'twentyeleven_page_menu_args');

/**
 * Register our sidebars and widgetized areas. Also register the default Epherma widget.
 *
 * @since Twenty Eleven 1.0
 */
function twentyeleven_widgets_init() {

    register_sidebar(array(
        'name' => __('Main Sidebar', 'hacattus'),
        'id' => 'primary-widget-area',
        'before_widget' => '<aside id="%1$s" class="widget %2$s">',
        'after_widget' => "</aside>",
        'before_title' => '<h3 class="widget-title">',
        'after_title' => '</h3>',
    ));
	register_sidebar(array(
        'name' => __('Footer', 'hacattus'),
        'id' => 'footer-widget-area',
        'before_widget' => '<aside id="%1$s" class="widget %2$s">',
        'after_widget' => "</aside>",
        'before_title' => '<h3 class="widget-title">',
        'after_title' => '</h3>',
    ));
    
}

add_action('widgets_init', 'twentyeleven_widgets_init');


if (!function_exists('twentyeleven_comment')) :

    /**
     * Template for comments and pingbacks.
     *
     * To override this walker in a child theme without modifying the comments template
     * simply create your own twentyeleven_comment(), and that function will be used instead.
     *
     * Used as a callback by wp_list_comments() for displaying the comments.
     *
     * @since Twenty Eleven 1.0
     */
    function twentyeleven_comment($comment, $args, $depth) {
        $GLOBALS['comment'] = $comment;
        switch ($comment->comment_type) :
            case 'pingback' :
            case 'trackback' :
                ?>
                <li class="post pingback">
                    <p><?php _e('Pingback:', 'twentyeleven'); ?> <?php comment_author_link(); ?><?php edit_comment_link(__('Edit', 'twentyeleven'), '<span class="edit-link">', '</span>'); ?></p>
                    <?php
                    break;
                default :
                    ?>
                <li <?php comment_class(); ?> id="li-comment-<?php comment_ID(); ?>">
                    <article id="comment-<?php comment_ID(); ?>" class="comment">
                        <footer class="comment-meta">
                            <div class="comment-author vcard">
                                <?php
                                $avatar_size = 68;
                                if ('0' != $comment->comment_parent)
                                    $avatar_size = 39;

                                echo get_avatar($comment, $avatar_size);

                                /* translators: 1: comment author, 2: date and time */
                                printf(__('%1$s on %2$s <span class="says">said:</span>', 'twentyeleven'), sprintf('<span class="fn">%s</span>', get_comment_author_link()), sprintf('<a href="%1$s"><time pubdate datetime="%2$s">%3$s</time></a>', esc_url(get_comment_link($comment->comment_ID)), get_comment_time('c'),
                                                /* translators: 1: date, 2: time */ sprintf(__('%1$s at %2$s', 'twentyeleven'), get_comment_date(), get_comment_time())
                                        )
                                );
                                ?>

                                <?php edit_comment_link(__('Edit', 'twentyeleven'), '<span class="edit-link">', '</span>'); ?>
                            </div><!-- .comment-author .vcard -->

                            <?php if ($comment->comment_approved == '0') : ?>
                                <em class="comment-awaiting-moderation"><?php _e('Your comment is awaiting moderation.', 'twentyeleven'); ?></em>
                                <br />
                            <?php endif; ?>

                        </footer>

                        <div class="comment-content"><?php comment_text(); ?></div>

                        <div class="reply">
                            <?php comment_reply_link(array_merge($args, array('reply_text' => __('Reply <span>&darr;</span>', 'twentyeleven'), 'depth' => $depth, 'max_depth' => $args['max_depth']))); ?>
                        </div><!-- .reply -->
                    </article><!-- #comment-## -->

                    <?php
                    break;
            endswitch;
        }

    endif; // ends check for twentyeleven_comment()

    if (!function_exists('twentyeleven_posted_on')) :

        /**
         * Prints HTML with meta information for the current post-date/time and author.
         * Create your own twentyeleven_posted_on to override in a child theme
         *
         * @since Twenty Eleven 1.0
         */
        function twentyeleven_posted_on() {
            printf(__('<span class="sep">Posted on </span><a href="%1$s" title="%2$s" rel="bookmark"><time class="entry-date" datetime="%3$s" pubdate>%4$s</time></a><span class="by-author"> <span class="sep"> by </span> <span class="author vcard"><a class="url fn n" href="%5$s" title="%6$s" rel="author">%7$s</a></span></span>', 'twentyeleven'), esc_url(get_permalink()), esc_attr(get_the_time()), esc_attr(get_the_date('c')), esc_html(get_the_date()), esc_url(get_author_posts_url(get_the_author_meta('ID'))), esc_attr(sprintf(__('View all posts by %s', 'twentyeleven'), get_the_author())), get_the_author()
            );
        }

    endif;

    /**
     * Adds two classes to the array of body classes.
     * The first is if the site has only had one author with published posts.
     * The second is if a singular post being displayed
     *
     * @since Twenty Eleven 1.0
     */
    function twentyeleven_body_classes($classes) {

        if (function_exists('is_multi_author') && !is_multi_author())
            $classes[] = 'single-author';

        if (is_singular() && !is_home() && !is_page_template('showcase.php') && !is_page_template('sidebar-page.php'))
            $classes[] = 'singular';

        return $classes;
    }

    add_filter('body_class', 'twentyeleven_body_classes');




    